package com.eshop.modules.system.service;

import java.util.Set;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.eshop.modules.system.service.dto.UserDto;
import java.util.List;
import java.util.Map;
import org.springframework.data.domain.Pageable;
import com.eshop.modules.system.service.dto.UserQueryCriteria;
import com.eshop.modules.system.domain.User;
import com.eshop.common.service.BaseService;

public interface UserService extends BaseService<User>
{
    Map<String, Object> queryAll(final UserQueryCriteria criteria, final Pageable pageable);
    
    List<User> queryAll(final UserQueryCriteria criteria);
    
    void download(final List<UserDto> all, final HttpServletResponse response) throws IOException;
    
    UserDto findByName(final String userName);
    
    void updatePass(final String username, final String encryptPassword);
    
    void updateAvatar(final MultipartFile multipartFile);
    
    void updateEmail(final String username, final String email);
    
    boolean create(final User resources);
    
    void update(final User resources);
    
    void delete(final Set<Long> ids);
}
